package com.example.pengxiangedupay.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 *
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2022-11-29 11:01:51
 */
@TableName("fee_stu_paid")
public class FeeStuPaidEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    @Setter
    @Getter
    private Long Id;

    @Setter
    @Getter
    private Long stuId;

    @Setter
    @Getter
    private Long feeNeedPayId;
    /**
     *
     */
    @Getter
    @Setter
    private Long deptId;
    /**
     *
     */
    @Getter
    @Setter
    private Long academyId;

    /**
     *
     */
    @Getter
    @Setter
    private Long feeStandardId;
    /**
     * 培训费
     */
    @Getter
    @Setter
    private BigDecimal trainFee;
    /**
     * 服装费
     */
    @Getter
    @Setter
    private BigDecimal clothesFee;
    /**
     * 教材费
     */
    @Getter
    @Setter
    private BigDecimal bookFee;
    /**
     * 住宿费
     */
    @Getter
    @Setter
    private BigDecimal hotelFee;
    /**
     * 被褥费
     */
    @Getter
    @Setter
    private BigDecimal bedFee;
    /**
     * 保险费
     */
    @Getter
    @Setter
    private BigDecimal insuranceFee;
    /**
     * 公物押金
     */
    @Getter
    @Setter
    private BigDecimal publicFee;
    /**
     * 证书费
     */
    @Getter
    @Setter
    private BigDecimal certificateFee;
    /**
     * 国防教育费
     */
    @Getter
    @Setter
    private BigDecimal defenseEduFee;
    /**
     * 体检费
     */
    @Getter
    @Setter
    private BigDecimal bodyExamFee;

    @Setter
    private BigDecimal totalPaidFee;

    public BigDecimal getTotalPaidFee() {
        return trainFee.add(clothesFee).add(bookFee).add(hotelFee)
                .add(bedFee).add(insuranceFee).add(publicFee).add(certificateFee)
                .add(defenseEduFee).add(bodyExamFee);
    }

    /**
     * 费用缴纳状态  801未缴清 800 已缴清
     */
    @Getter
    @Setter
    private Integer feeStatus;

    @Getter
    @Setter
    private String billInfo;
}
